<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2015/10/19
 * Time: 14:22
 *
 * 公用控制器 ，不用登录就 能够使用的
 */
namespace Admin\Controller;
use Think\Controller;

class PublicController extends Controller{


    /**
     *  后台登陆
     * 1、登录页面
     * 2、用户登录验证
     *      (1): 检测验证码
     */
    public function login(){
        if(IS_POST){
            //用户登录验证
            $post = I('post.');
            //检测 验证码
            if(!$this->check_verify($post['verify'])){
                $this->error('验证码错误!');
            }
            //检测 用户 登录
            $model = D('AdminUser');
            $map = array(
                'name' => $post['name'],
                'password' => md5($post['password']),
            );
            $info = $model->getOne($map);
            if(!$info){
                $this->error('您的用户名，或密码错误!');
            }else{
                //记录 用户 登录数据 USER_ADMIN_LOGIN 登录成功!
                $arr = array(
                    'id' => $info['id'],
                    'name' => $info['name'],
                    'role_id' => $info['role_id'],
                );
                session('USER_ADMIN_LOGIN',$arr);
                //修改 登录信息
                $data = array(
                    'id'        => $info['id'],
                    'last_time' => time(),
                    'last_ip'   => ip2long($_SERVER['REMOTE_ADDR'])
                );
                $model->update($data);
                $this->success('登录成功!',U('Index/index'));
            }
        }else{
            $this->display();
        }
    }

    /**
     * 退出登录
     */
    public function logout(){
        unset($_SESSION['USER_ADMIN_LOGIN']);
        $this->success('退出成功!',U('Public/login'));
    }
    /**
     * 获取 验证码
     */
    public function get_verify(){
        $config = array(
            'length' => 4,
        );
        $Verify = new \Think\Verify($config);
        $Verify->entry();
    }

    /**
     * 验证 验证码
     */
    public function check_verify($code, $id = ''){
        $verify = new \Think\Verify();
        return $verify->check($code, $id);
    }
}